package com.hakim.wfb.customer.enums;

/**
 * Created by huyong on 2016/7/18.
 */
public enum ErrorCodeEnum {

    COMMON_ERROE(1001, "异常信息"),

    CONCURRENT_MODIFY(1002, "并发修改失败"),

    VERIFYCODE_ERROR(1003, "验证码错误"),

    NOT_LOGINED(1004, "用户未登录"),

    VERSION_DISABLED(1007, "当前版本不支持此操作，请尽快更新"),
    /*
     * 用户错误：2001~ 2999
     */
    MOBILE_EXIST_ERROR(2001, "手机号已经存在"),
    USER_NOT_EXIST_ERROR(2002, "用户不存在"),
    USERNNAME_OR_PASSWORD_ERROR(2003, "用户名或密码错误"),
    USER_EXIST_ERROR(2004, "用户名已存在"),
    USER_OLD_PASSWORD_ERROR(2005, "当前密码错误！"),
    USER_SIGNIN_ERROR(2006, "用户今天已经签到过"),
    USER_REALNAME_AUTHED_ERROR(2007, "该身份证已经实名认证过！"),
    USER_REALNAME_NAME_NOT_MACTH_IDNO_ERROR(2008, "身份认号码与姓名不符"),
    USER_REALNAME_API_INVOKE_ERROR(2009, "实名认证接口调用异常"),
    USER_CARDNO_AUTHED_ERROR(2010, "该卡号已认证"),
    USER_NO_COMPANYINFO_ERROR(2013, "用户企业信息不存在"),
    USER_COMPANYINFO_NEED_APPROVE_ERROR(2014, "用户企业信息待审批中"),
    USER_IDENTITY_INFO_ERROR(2015, "用户身份信息不正确"),
    USER_PASSWORD_ERROR(2016, "用户密码错误"),
    MOBILE_NOT_EXIST_ERROR(2017, "手机号不存在"),
    MOBILE_NOT_EQ_CURUSER_ERROR(2018, "手机号与当前用户注册的手机号不一致"),
    USER_BANK_CARD_EXIST_ERROR(2020, "您已经认证过银行卡"),
    USER_COMPANYINFO_APPROVE_PASSED_ERROR(2021, "此企业已审批过"),
    USER_COMPANYINFO_APPROVE_REJECTED_ERROR(2022, "此企业审批已被拒绝"),
    USER_PERSONCARDNO_NOT_EXIST(2023, "身份证不存在"),
    BANK_CARD_INVALID(2024, "银行卡号格式错误"),
    BANK_CARD_NOT_SUPPORT(2025, "暂不支持此银行卡"),
    BANK_CARD_NOT_EXIST(2026, "银行卡不存在"),
    USER_ASSET_EXIST_ERROR(2027, "用户账户不存在"),
    USER_IDENTIY_AUTHED_ERROR(2028, "该用户已经实名认证过！"),
    BANK_CREDIT_CARD_NOT_SUPPORT(2029, "暂不支持信用卡"),
    USER_WEIXIN_NOT_EXIST(2030, "找不到绑定此微信账户的用户"),
    USER_WEIXIN_BINDED_EXIST(2031, "微信账号只能绑定一个用户"),
    USER_WEIXIN_AUTHED_ERROR(2032, "您已经绑定微信账号"),
    USER_REALNAME_ERROR_NUM_GT_SPECIFY(2035, "对不起，您的账户已被冻结并自动退出。详情请咨询400-0077-707"),
    USER_FROZEN_ERROR(2036, "该用户已被冻结，详情请咨询400-0077-707。"),
    REDEEM_NON_EXISTENT_ERROR(2039, "请输入正确的兑换码。"),
    REDEEM_ERROR_TIMES_LIMIT_ERROR(2040, "您兑换次数过于频繁，请稍后重试。"),
    USER_NOT_PERSONAL_LOGIN_ERROR(2041, "非个人账户不能登陆"),
    PUFA_BANK_NOT_APPLY(2046, "由于浦发银行业务调整，暂停认证支付业务，请更换其他银行卡，详情咨询客服热线：400-0077-707。给您带来不便请谅解！"),
    INVITE_MOBILE_NOT_EXIST_ERROR(2047, "推荐人手机号不存在"),
    DEPOSITORY_USER_EXIST_ERROR(2048, "已存在该借款人"),
    INVITE_NOT_EXIST_ERROR(2049, "推荐人不存在"),

    /*
     * 支付服务交互错误
     */
    BIND_CARD_ERROR(9003, "姓名和银行卡号不一致！"),

    USER_TRADE_PASSWORD_SET_NO_ERROR(3015, "支付密码未设置！"),
    USER_TRADE_PASSWORD_EXIST_ERROR(3016, "支付密码已设置！"),
    USER_MOBILE_ALREADY_BOUND_ERROR(3017, "手机号已绑定"),
    USER_CREDIT_POINT_NOT_EXIST_ERROR(3018, "用户积分明细不存在！"),

    USER_TRADE_PASSWORD_ERROR(3019, "支付密码错误！"),

    USER_TRADE_PASSWORD_MISMATCH_ERROR(3020, "密码输入不一致！"),

    USER_ALREADY_ACTIVATED_ERROR(3021, "用户已经激活"),

    CREDIT_POINT_INVALID_ERROR(3022, "积分值无效"),

    CREDIT_POINT_TYPE_NOT_SUPPORT_TRANSFER(3023, "积分类型不支持划拨"),

    MOBILE_PHONE_EXIST_ERROR(3024, "手机号已注册"),
    CARD_NO_EXIST_ERROR(3025, "身份证号已注册"),
    //USER_MOBILE_ALREADY_BOUND_ERROR(3018, "手机号已绑定")

    CONSUME_INTEREST_EXIST_ERROR(3026, "当日利息已设置"),
    CONSUME_INTEREST_NOT_EXIST_ERROR(3027, "利息不存在"),
    CONSUME_INTEREST_ADD_EXPIRED_ERROR(3028, "不允许添加历史日期的利息"),
    CONSUME_INTEREST_UPDATE_EXPIRED_ERROR(3029, "不允许修改历史日期的利息"),
    CONSUME_INTEREST_DELETE_EXPIRED_ERROR(3030, "不允许删除历史日期的利息"),

    WALLET_GET_USER_ADDRESS_URL_NOT_EXIST_ERROR(3031, "获取用户钱包接口URL不存在"),
    WALLET_WITHDRAW_URL_NOT_EXIST_ERROR(3032, "钱包上币接口URL不存在"),
    WALLET_MARKET_PRICE_URL_NOT_EXIST_ERROR(3033, "久福币价格查询URL不存在"),

    CREDIT_POINT_TYPE_NOT_SUPPORT_WITHDRAW(3034, "积分类型不允许提现"),
    CREDIT_POINT_BALANCE_NOT_ENOUGH_ERROR(3035, "积分余额不足"),
    INVALID_INVEST_AMOUNT_ERROR(3036, "投资额度错误");

    /**
     * 值
     */
    private int code;

    /**
     * 注释
     */
    private String message;

    ErrorCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public static ErrorCodeEnum getByCode(int code) {
        for (ErrorCodeEnum type : values()) {
            if (type.getCode() == (code)) {
                return type;
            }
        }
        return null;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
